<%--
  Created by IntelliJ IDEA.
  User: John
  Date: 2019/10/22
  Time: 15:06
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>发起请求，传递参数</title>
</head>
<body>

    传递请求参数:<br />
    <a href="/param/req_param?sname=项羽">传递请求参数</a> <br />
    <form action="/param/req_param" method="post">
        <input type="hidden" name="sname" value="项羽" />
        <input type="submit" />
    </form> <br />
    <BR />
    <form action="/param/checkbox_param" method="post">
        <input type="hidden" name="sname" value="项羽" />
        爱好：<br />
        <input type="checkbox" name="hobby" value="编程" /> 编程
        <input type="checkbox" name="hobby" value="爬山" /> 爬山
        <input type="checkbox" name="hobby" value="上天" /> 上天
        <input type="checkbox" name="hobby" value="入地" /> 入地
        <input type="checkbox" name="hobby" value="下海" /> 下海
        <input type="checkbox" name="hobby" value="游戏" /> 游戏
        <input type="submit" />
    </form>


    <!-- 请求头的使用postman模拟，或者在后台获取浏览器默认携带的那些请求头字段，比如userAgent -->

    请求作用域参数传递：<br />
    <%
        request.setAttribute("sname", "虞姬req");
        //request.getRequestDispatcher("/param/req_scope").forward(request, response);
    %>
    <%-- 这种方式会发起一次新的请求，request对象变了，跟咱们设置属性的地方不是同一个请求对象，所以后台无法获取 --%>
<%--    <a href="/param/req_scope">错误示范</a>--%>

    <hr />

    会话作用域参数传递：<br />
    <%
        session.setAttribute("sname", "虞姬session");
    %>
    <a href="/param/session_scope">发起请求</a>

    <hr />
    cookie参数传递：<br />
    <%
        response.addCookie(new Cookie("sname", "yuji_cookie"));
    %>
    <a href="/param/cookie">发起请求</a>

</body>
</html>
